> I am writing a subset of Prolog with Icon for a project. I'm stumped at a particular problem ...
In general, the data in a table can be any scalar or structured type: integer, real, record, list, list of records, etc. I use tables of lists frequently. They look somewhat like this:
t := table()
t["Ford"] := [1968, "Blue", 142.6]
write(t["Ford"][3])
So, t is a table, t["Ford"] is a list, and t["Ford"][3] is a floating point number.
This is a very flexible and adaptable approach. It is my preferred way to build directed graphs, for example.